import router from './router'
import store from './store'
import { Message } from 'element-ui'
import NProgress from 'nprogress' // progress bar
import 'nprogress/nprogress.css' // progress bar style
import Cookies from 'js-cookie'

NProgress.configure({ showSpinner: false }) // NProgress Configuration


router.beforeEach((to,from,next)=>{
  // to: Route: 即将要进入的目标 路由对象
  // from: Route: 当前导航正要离开的路由
  // next: Function: 一定要调用该方法来 resolve 这个钩子。执行效果依赖 next 方法的调用参数。

  NProgress.start()
  const hasToken =  Cookies.get('token');

  if(to.meta.requireAuth === true){ // 需要登录权限进入的路由
    if(!hasToken){     // 获取不到登录信息
      next({
        path: '/Login'
      })
    }else{      // 获取到登录信息，进行下一步
      return next();
    }
  }else{       // 不需要登录权限的路由进入登录页面
    next({
      path: '/Home',
      query: {redirect: to.fullPath}  // 将跳转的路由path作为参数，登录成功后跳转到该路由
    })
  }
})

router.afterEach(() => {
  // finish progress bar
  NProgress.done()
})
